#ifndef GAME_STATE_H
#define GAME_STATE_H

#include "..\..\include\graphics\graphics_renderer.h"
#include "..\..\include\game_manager.h"
#include "..\..\include\user_controller.h"

class GameManager;

class GameState
{
  public:
	virtual void onOpen() = 0;
	virtual void onClose() = 0;

	virtual void onEnter() = 0;
	virtual void onExit() = 0;

	virtual void update(GameManager*, UserController*) = 0;
	virtual void render(GraphicsRenderer*) = 0;
};

#endif // GAME_STATE_H